// 使用 引入下方 代码
// 全局方法使用
// import { getCurrentInstance, ComponentInternalInstance } from 'vue';
// const { appContext } = getCurrentInstance() as ComponentInternalInstance;
// const proxy = appContext.config.globalProperties;
// const formatter = proxy.$formatter;
export default {
  // 学院信息对应表
  CollegeState(row: any) {
    const states = {
      '1': "电气与电子工程学院",
      '2': "能源动力与机械工程学院",
      '3': "控制与计算机工程学院",
      '4': "经济与管理学院",
      '5': "环境科学与工程学院",
      '6': "可再生能源学院",
      '7': "人文与社会科学学院",
      '8': "马克思学院",
    };
    const theKey: keyof typeof states = row.college_id;
    return states[theKey];
  },
  // 组别对应表
  CheckGroup(row: any) {
    const states = {
      '1': '学生组',// 学生组
      '2': '教职工组',// 教职工组
    };
    const theKey: keyof typeof states = row?.project_group || row?.athlete_group;
    return states[theKey];
  },
  // 比赛类型对应表
  CheckCategory(row: any) {
    const states = {
      '1': '田赛',// 田赛
      '2': '径赛',// 径赛
      '3': '其他',// 其他
    };
    const theKey: keyof typeof states = row.category;
    return states[theKey];
  },
  // 信息状态
  CheckApprovalStatus(row: any) {
    const states = {
      '0': '待审核',
      '1': '通过',
      '2': '未通过',
    };
    const theKey: keyof typeof states = row.status;
    return states[theKey];
  },
  // 报名状态
  CheckEntryStatus(row: any) {
    const states = {
      '0': '待报名',
      '1': '未报满',
      '2': '已报满',
    };
    const theKey: keyof typeof states = row.status;
    return states[theKey];
  },
  // 角色对应表
  CheckRoles(row: any) {
    const states = {
      '0': 'VOLUNTEER',// 志愿者
      '1': 'ATHLETE',// 运动员
      '2': 'JUDGE',// 裁判
      '3': 'COLLEGE_ADMIN',// 学院管理员
      '4': 'SUPER_ADMIN', // 超级管理员
    };
    const theKey: keyof typeof states = row.role_type;
    return states[theKey];
  },
  
  // 选手是否存在对应表
  CheckAthleteIsDelete(row: { is_delete: 0 | 1 }) {
    const statesValue: { [key in '0' | '1']: string } = {
      '0': '有效',
      '1': '已删除',
    };

    const statesStyle: { [key in '0' | '1']: { style: string } } = {
      '0': { style: 'color: black;' },
      '1': { style: 'color: red;' },
    };

    // 获取对应的状态文本和样式
    const stateText = statesValue[row.is_delete];
    const stateStyle = statesStyle[row.is_delete] ? statesStyle[row.is_delete].style : '';

    return [stateStyle, stateText];
  },
  // 志愿者是否存在对应表
  CheckVolunteerIsDelete(row: { is_delete: 0 | 1 }) {
    const statesValue: { [key in '0' | '1']: string } = {
      '0': '有效',
      '1': '已删除',
    };

    const statesStyle: { [key in '0' | '1']: { style: string } } = {
      '0': { style: 'color: black;' },
      '1': { style: 'color: red;' },
    };

    // 获取对应的状态文本和样式
    const stateText = statesValue[row.is_delete];
    const stateStyle = statesStyle[row.is_delete] ? statesStyle[row.is_delete].style : '';
    return [stateStyle, stateText]
  },
}
